﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Bussiness;
using Data;

namespace hostal
{
    public partial class CambiarPassword : Form
    {
        private bool passwordAntiguoIncorrecto, nuevoPasswordIncorrecto, passwordsIguales, passwordAntiguoIgual, nuevoPasswordITamanioncorrecto = true;
        string usuario;
        public CambiarPassword()
        {
            InitializeComponent();
        }
        public CambiarPassword(string usuario)
        {
            InitializeComponent();
            CuentasDataAccess cuenta = new CuentasDataAccess();
            this.usuario=usuario;
            DGVerDetalleCuenta.DataSource = cuenta.buscarPassword(usuario);
        }

        private void BAceptar_Click(object sender, EventArgs e)
        {
            if (nuevoPasswordIncorrecto = Validador.campoVacio(TBNuevoPassword.Text))
                EPNuevoPassword.SetError(TBNuevoPassword, "Requerido");
            else
                EPNuevoPassword.Clear();
            if (nuevoPasswordITamanioncorrecto = Validador.tamanioMinimo(TBNuevoPassword.Text))
                EPTamanio.SetError(TBNuevoPassword, "Tamaño minimo es de 6 caracteres");
            else
                EPTamanio.Clear();
            if (passwordsIguales = TBNuevoPassword.Text != TBRepiteNuevoPassword.Text)
                EPRepiteNuevoPassword.SetError(TBRepiteNuevoPassword, "Password Distinto");
            else
                EPRepiteNuevoPassword.Clear();
            if (passwordAntiguoIgual= TBAntiguoPassword.Text == DGVerDetalleCuenta.Rows[0].Cells[0].Value.ToString())
                EPPasswordAntiguo.Clear();
            else
                EPPasswordAntiguo.SetError(TBAntiguoPassword, "No Coincide Con El Anterior Password");
            if (passwordAntiguoIncorrecto = Validador.campoVacio(TBAntiguoPassword.Text))
                EPPassword.SetError(TBAntiguoPassword, "Requerido");
            else
                EPPassword.Clear();
            CuentasDataAccess registroCuenta = new CuentasDataAccess();
            if (!nuevoPasswordIncorrecto && !passwordAntiguoIncorrecto && !passwordsIguales && passwordAntiguoIgual && !nuevoPasswordITamanioncorrecto)
                {
                    if (registroCuenta.modificarPassword(usuario, TBNuevoPassword.Text))
                    {
                        MessageBox.Show("Se Registro Exitosamente");
                        this.Close();
                    }
                    else
                        MessageBox.Show("No Se Pudo Registrar");
                }
            }

        private void BCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void TBAntiguoPassword_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Validador.validarCorreo(e.KeyChar))
                e.Handled = false;
            else
                e.Handled = true;
        }

        private void TBNuevoPassword_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Validador.validarCorreo(e.KeyChar))
                e.Handled = false;
            else
                e.Handled = true;
        }

        private void TBRepiteNuevoPassword_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Validador.validarCorreo(e.KeyChar))
                e.Handled = false;
            else
                e.Handled = true;
        }

        private void BCancelar_Click_1(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
